Method for calibrating rotary encoder with multiple calibration points

ABSTRACT

One embodiment of the present invention provides a method for calibrating a rotary encoder including a rotatable disk including at least two index points located along a circumferentially extending row. These index points contain information specifying an angular position of the index point. This allows the rotary encoder to be calibrated by turning it through a sufficient angular displacement to ensure that an index point passes over a sensor. This sufficient angular displacement is less than a complete revolution because there are multiple index points along the circumference of the disk. This design allows a rotary encoder to be calibrated without turning it through a complete revolution. This is advantageous where turning the rotary encoder through a complete rotation is not possible or is inconvenient, for example in applications such as a wind direction indicator, a rudder position indicator or a joystick. Thus, one embodiment of the present invention includes a method for calibrating a rotary encoder including a rotatable disk with at least two index points located along a circumferentially extending row on the rotatable disk. The method includes turning the rotary encoder through a sufficient angular displacement to ensure that an index point passes over a first sensor in the rotary encoder, the sufficient angular displacement being less than a complete revolution. The method also includes reading an index point signal through the first sensor, and decoding the index point signal to obtain an angular position value for the index point. The method additionally includes using the angular position value to calibrate the rotary encoder.

RELATED APPLICATION

The subject matter of this application is related to the subject matterin U.S. patent application Seri. No. 09/089,985, filed Jun. 3, 1998,pending.

BACKGROUND

1. Field of the Invention

The present invention relates to rotary encoders for detecting an angleof rotation, and more particularly to a rotary encoder includingmultiple calibration points allowing the rotary encoder to be calibratedby turning it through only a fraction of a complete 360-degree rotation.

2. Related Art

Rotary encoders are the sensor of choice for generating a digital outputto accurately measure rotational motion. Encoders are often attached tohigh performance spindles in systems such as high precision machinetools and laser scanners. They are used to measure rotational parameterssuch as shaft angle position, velocity and direction of rotation.

A rotary encoder typically has two or three signal channels. One ofthese channels is generally a one-pulse-per-revolution index channel,and the other channels are generally multiple-pulse-per-revolution datachannels. The number of pulses per revolution on a data channel istypically between a few hundred and a few thousand depending upon theresolution required for fine position control. These signals are oftenfed into a control system to provide real-time information regarding theposition, velocity and rotational direction of the spindle.

The index channel pulse is used to indicate the beginning of eachspindle revolution, and the data channel(s) signal is used to indicatethe speed of the rotor and the angular position of the rotor within arevolution. For some types of encoders (such as a quadrature typeencoder) there is an additional channel which provides information onthe direction of the spindle.

FIGS. 1A and 1B illustrate portions of a prior art rotary encoder. Therotary encoder illustrated in FIGS. 1A and 1B includes rotatable disk100, which is coupled to shaft 101. Shaft 101 is coupled to a rotationalinput, such as a spindle for a machine tool, so that rotating thespindle cases shaft 101 and disk 100 to rotate. Disk 100 includes twochannels comprising circumferentially extending rows of transparentopenings through which light can pass. In the illustrated example, theinner channel is an index channel 102, with a single opening (pulse) perrevolution specifying an index position. The outer channel is a datachannel 104 with a large number of openings (pulses) specifyingincremental angular displacements of disk 100. Rotatable disk 100 istypically composed of glass, and the openings which form index channel102 and data channel 104 are typically etched in rotatable disk 100.

In the illustrated example, information from index channel 102 and datachannel 104 is retrieved optically. Light emitting device 106 generateslight, which passes through index channel 102 and feeds into lightreceiving device 112. The signal from light receiving device 112 passesinto signal processing device 114, which detects and decodes the indexpulse from index channel 102. Similarly, light emitting device 108generates light, which passes through data channel 104 and feeds intolight receiving device 110. The signal from light receiving device 110passes into signal processing device 114, which detects and decodes anangular displacement signal from data channel 104. Light emittingdevices 106 and 108 are typically implemented using light emittingdiodes (LEDs) or lasers. Light receiving devices 110 and 112 aretypically implemented using photodiodes. Signal processing device 114 istypically implemented with a device controller or a microprocessor.

One problem with the above-described rotary encoder design is that itrequires up to a complete revolution of the rotary encoder to detect thepulse on the index channel in order to calibrate the rotary encoder.Turning the rotary encoder through a complete revolution may not bepossible or may be inconvenient for certain applications, such as a winddirection indicator, a rudder position indicator or a joystick.

What is needed is a rotary encoder that can be calibrated without havingto turn it through a complete revolution.

A rotary encoder with multiple index points has previously beendisclosed. See U.S. Pat. No. 5,130,536, entitled "Optical Rotary Encoderwith Indexing," to Sato et al. However, the rotary encoder disclosed inSato was developed to facilitate the firing of spark plugs, not forpurposes of calibration. Hence, the multiple index points in Sato do notcontain information specifying angular positions for the index pointsfor purposes of calibration. In FIG. 2 of the Sato patent, the zeroangle index point contains a marker with two openings to differentiateit from the other index points. The other index points merely include amarker with a single opening, and these other index points cannot bedifferentiated from one another for purposes of calibration. (See FIG.2) Hence, it is necessary to turn the rotary encoder disclosed in Satothrough almost a complete revolution in order to calibrate it. (Strictlyspeaking, it is possible to calibrate this encoder by turning it though1-1/N revolutions, where N is the number of index points.)

SUMMARY

One embodiment of the present invention provides a method forcalibrating a rotary encoder including a rotatable disk including atleast two index points located along a circumferentially extending row.These index points contain information specifying an angular position ofthe index point. This allows the rotary encoder to be calibrated byturning it through a sufficient angular displacement to ensure that anindex point passes over a sensor. This sufficient angular displacementis less than a complete revolution because there are multiple indexpoints along the circumference of the disk. This design allows a rotaryencoder to be calibrated without turning it through a completerevolution. This is advantageous where turning the rotary encoderthrough a complete rotation is not possible or is inconvenient, forexample in applications such as a wind direction indicator, a rudderposition indicator or a joystick. Thus, one embodiment of the presentinvention includes a method for calibrating a rotary encoder including arotatable disk with at least two index points located along acircumferentially extending row on the rotatable disk. The methodincludes turning the rotary encoder through a sufficient angulardisplacement to ensure that an index point passes over a first sensor inthe rotary encoder, the sufficient angular displacement being less thana complete revolution. The method also includes reading an index pointsignal through the first sensor, and decoding the index point signal toobtain an angular position value for the index point. The methodadditionally includes using the angular position value to calibrate therotary encoder.

In one embodiment of the present invention, turning the rotary encoderincludes turning a rotatable disk with a circumferentially extending rowof at least two index points located on equally-spaced radii. In thisembodiment, each index point encodes information specifying an angularposition of the index point along the circumference of the disk.

Another embodiment of the present invention includes reading an angulardisplacement signal from a second sensor disposed over a data channel onthe rotatable disk. In a variation on this embodiment, reading the indexpoint and angular displacement signals includes reading signals from thesame circumferentially extending row on the disk (see FIG. 5A and FIG.5B). In another variation on this embodiment, reading the index pointand angular displacement signals includes reading signals from differentcircumferentially extending rows on the disk.

In another embodiment of the present invention, decoding the index pointsignal to obtain an angular position value includes decoding signalsfrom openings of differing lengths on the rotatable disk intocorresponding angular position values. In another embodiment, decodingthe index point signal to obtain an angular position value includesdecoding signals from a pattern of openings on the circumferentiallyextending row into the angular position value.

In another embodiment of the present invention, turning the rotaryencoder includes operating an input device for a computer system. Inanother embodiment, turning the rotary encoder includes operating ajoystick. In yet another embodiment, turning the rotary encoder includesoperating a mouse coupled to a computer system. In another embodiment,turning the rotary encoder includes turning a mechanism that specifies awind direction. In another embodiment, turning the rotary encoderincludes turning a mechanism that specifies a rudder position.

DESCRIPTION OF THE FIGURES

FIGS. 1A and 1B illustrate a prior art rotary encoder including an indexchannel with a single index point-per-revolution.

FIG. 2 illustrates the disk of a rotary encoder including multipleindex-points-per-revolution in accordance with an embodiment of thepresent invention.

FIG. 3 illustrates a computer system 300 coupled to data input devicescontaining rotary encoders in accordance with an embodiment of thepresent invention.

FIG. 4 is a flow chart illustrating some of the steps involved incalibrating a rotary encoder in accordance with an embodiment of thepresent invention.

FIG. 5A illustrates the disk of a rotary encoder with a combined indexchannel and data channel in accordance with an embodiment of the presentinvention.

FIG. 5B illustrates a rotary encoder that uses a single light emittingdevice and a single light receiving device to read a combined indexchannel and data channel in accordance with an embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

The following description is presented to enable any person skilled inthe art to make and use the invention, and is provided in the context ofa particular application and its requirements. Various modifications tothe disclosed embodiments will be readily apparent to those skilled inthe art, and the general principles defined herein may be applied toother embodiments and applications without departing from the spirit andscope of the present invention. Thus, the present invention is notintended to be limited to the embodiments shown, but is to be accordedthe widest scope consistent with the principles and features disclosedherein.

Description of Rotary Encoder with Multiple Calibration Points

FIG. 2 illustrates the disk of a rotary encoder including multipleindex-points-per-revolution in accordance with an embodiment of thepresent invention. The embodiment illustrated in FIG. 2 is similar tothe prior art rotary encoder illustrated in FIGS. 1A and 1B, except thatthe embodiment illustrated in FIG. 2 includes multiple index points onindex channel 102, instead of a single index point. Furthermore, theseindex points contain information specifying an angular position of theindex point. The index channel illustrated in FIG. 2 includes four indexpoints located on equally-spaced radii 90 degrees apart. These indexpoints have openings of different sizes in order to uniquely identifythe index points.

The rotary encoder illustrated in FIG. 2 can be calibrated as follows.First, the rotary encoder is rotated through at least a 90-degree angleto ensure that one of the index points from index channel 102 passesover light receiving device 112 (see FIG. 1A). Next, the signal fromlight receiving device 112 is read, and the size of the opening isexamined to determine the identity of the index point to determine anangular position value of the index point. This angular position valueis used to calibrate the index point. Note that the above method allowsa rotary encoder to be calibrated by turning the rotary encoder throughless than a complete revolution.

Other embodiments of the present invention include different numbers ofindex points. The only requirement is that the angular position of indexpoints be ascertainable by reading a signal from the index points. Otherembodiments of the present invention may have as few as two index pointsand as many as hundreds of index points.

Furthermore, other patterns can be used to encode the identity of indexpoints. The embodiment illustrated in FIG. 2 includes openings ofdifferent size to differentiate index points. In other embodiments, anindex point includes a pattern of openings, and this pattern of openingsuniquely identifies the index point. For example, a binary code can beused. Other possible index point patterns can be used so long as anindex point can be uniquely identified by reading a signal from theindex point.

Description of Computer System

FIG. 3 illustrates computer system 300 coupled to data input deviceswith rotary encoders in accordance with an embodiment of the presentinvention. Computer system 300 may be any type of computer system. Thisincludes, but is not limited to, mainframe computer systems,microprocessor computer systems and device controllers. In theembodiment illustrated in FIG. 3, computer system 300 is coupled tomouse 310 and joystick 320. Both mouse 310 and joystick 320 include atleast one rotary encoder to generate an angular position signal forcomputer system 300. This differs from some conventional input devicesfor computer systems that use potentiometers to indicate angular offsetsfrom input devices.

Description of Method of Calibrating Rotary Encoder

FIG. 4 is a flow chart illustrating some of the steps involved incalibrating a rotary encoder in accordance with an embodiment of thepresent invention. The method starts in state 400 and proceeds to state402. In state 402, the rotatable disk is turned less than a fullrevolution so that an index point passes over a first sensor. The methodthen proceeds to state 404. In state 404, the index point signal is readthrough the first sensor. The method then proceeds to state 406. Instate 406, the index point signal is decoded to obtain an angularposition value for the index point. The method then proceeds to state408. In state 408, the method uses the angular position value tocalibrate the rotary encoder. The method then proceeds to state 410. Instate 410, the method reads an angular displacement signal from a secondsensor disposed over a data channel on the rotatable disk. This angulardisplacement signal is used to produce an angular output signal from therotary encoder. The system then proceeds to state 412, which is an endstate.

The foregoing descriptions of embodiments of the invention have beenpresented for purposes of illustration and description only. They arenot intended to be exhaustive or to limit the invention to the formsdisclosed. Obviously, many modifications and variations will be apparentto practitioners skilled in the art.

What is claimed is:
 1. A method for calibrating a rotary encoderincluding a rotatable disk with at least two index points located alonga circumferentially extending row on the rotatable disk,comprising:turning the rotary encoder through a sufficient angulardisplacement to ensure that an index point passes over a first sensor inthe rotary encoder, the sufficient angular displacement being less thana complete revolution; wherein turning the rotary encoder includesturning the rotatable disk including a single circumferentiallyextending row of at least two index points located on equally-spacedradii, each index point encoding information specifying an annularposition of the index point along a circumference of the rotatable disk;reading the index point signal through the first sensor; decoding theindex point signal to obtain an angular position value for the indexpoint; using the angular position value to calibrate the rotary encoder;and reading an angular displacement signal from a second sensor disposedover a data channel on the rotatable disk; wherein reading the indexpoint signal and reading the angular displacement signal include readingsignals from the same circumferentially extending row on the rotatabledisk.
 2. The method of claim 1, wherein the first sensor and the secondsensor are the same sensor.
 3. The method of claim 1, wherein decodingthe index point signal to obtain the angular position value includesdecoding signals from openings of differing lengths on the rotatabledisk into corresponding angular position values.
 4. The method of claim1, wherein decoding the index point signal to obtain the angularposition value includes decoding a signal from a pattern of openings onthe circumferentially extending row into the angular position value. 5.The method of claim 1, wherein turning the rotary encoder includesoperating an input device for a computer system.
 6. The method of claim1, wherein turning the rotary encoder includes operating a joystick. 7.The method of claim 1, wherein turning the rotary encoder includesoperating a mouse coupled to a computer system.
 8. A method forcalibrating a rotary encoder including a rotatable disk with at leasttwo index points located along a circumferentially extending row on therotatable disk, comprising:turning a rotational input mechanism causingthe rotary encoder to turn through a sufficient angular displacement toensure that an index point to passes over a first sensor in the rotaryencoder, the sufficient angular displacement being less than a completerevolution; wherein turning the rotary encoder includes turning therotatable disk including a single circumferentially extending row of atleast two index points located on equally-spaced radii, each index pointencoding information specifying an angular position of the index pointalong a circumference of the rotatable disk; reading an index pointsignal through the first sensor; decoding the index point signal toobtain an angular position value for the index point; using the angularposition value of the index point to calibrate the rotary encoder; andreading an angular displacement signal from a second sensor disposedover a data channel on the rotatable disk; wherein reading the indexpoint signal and reading the angular displacement signal include readingsignals from the same circumferentially extending row on the rotatabledisk.
 9. The method of claim 8, wherein turning the rotational inputmechanism includes turning a mechanism that specifies a wind direction.10. The method of claim 8, wherein turning the rotational inputmechanism includes turning a mechanism that specifies a rudder position.11. The method of claim 8, wherein turning the rotational inputmechanism includes operating an input device for a computer system. 12.The method of claim 11, wherein operating the input device for thecomputer system includes operating a joystick.
 13. The method of claim11, wherein operating the input device for the computer system includesoperating a mouse.